<?php
session_cache_limiter("nocache");
//session_start();
require_once('../utilidades/ConexionBD.php');
//require_once('SeguridadPermiso.php');
require_once('MaeCliente.php');
require_once('SeguridadUsuario.php');
require_once('MaeOperacionTipo.php');
require_once('MaeOperacionPuerto.php');

require_once('MaeOperacionIdent.php');
require_once('MaeMercanciaTipo.php');
require_once('MaeContenedorTipo.php');

class OrdTrabajo {
    
    //--- Atributos
    private $id=0;
    private $fechaGrab;
    private $usuarioGrab;
    private $activo;
    private $codOrdTrabajo;
    private $codOperacionInterna;
    private $responsable;
    private $maeOperacionTipo;
    private $maeOperacionPuerto;
    private $maeCliente1;
    private $maeCliente2;
    private $fechaRegistro;
    private $estado;
    private $codFactura;
    private $valorFactura;
    private $consignatario;
    
    private $maeOperacionIdent;
    private $numero;
    private $maeContenedorTipo;
    private $maeMercanciaTipo;
    private $observaciones;
    private $maeContenedorTamano;
    private $cantidad;
    
    //--- constructor
    function __construct(){
        $this->responsable= new SeguridadUsuario();
        $this->maeOperacionTipo= new MaeOperacionTipo();
        $this->maeOperacionPuerto= new MaeOperacionPuerto();
        $this->maeCliente1= new MaeCliente();
        $this->maeCliente2= new MaeCliente();
        $this->maeOperacionIdent= new MaeOperacionIdent();
        $this->maeContenedorTipo= new MaeContenedorTipo();
        $this->maeMercanciaTipo= new MaeMercanciaTipo();        
        
    }    
    
    //--- Metodos        
    
        public static function facturarOrdTrabajoById($codUsuario,$id,$host,$observaciones,$codFactura,$valorFatura){
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'facturarOrdTrabajoById'
                ,'".$observaciones."'
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,NULL
                ,NULL
                ,'".$host."'
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL
                ,'".$codFactura."'
                ,'".$valorFatura."'
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        //--- retorno los datos de la ot
        while($row = pg_fetch_array($res)) {
            $list=array(
                "id"                   =>$row["@id"],
                "fechaGrab"            =>$row["@fechaGrab"],
                "usuarioGrab"          =>$row["@usuarioGrab"],
                "activo"               =>$row["@activo"],
                "codOrdTrabajo"        =>$row["@codOrdTrabajo"],
                "codOperacionInterna"  =>$row["@codOperacionInterna"],            
                "fechaRegistro"        =>$row["@fechaRegistro"],            
                "estado"               =>$row["@estado"],            
                "codFactura"           =>$row["@codFactura"], 
                "valorFactura"          =>$row["@valorFactura"],
                "codResponsable"       =>$row["@codResponsable"],
                "codMaeOperacionTipo"  =>$row["@codMaeOperacionTipo"],
                "codMaeOperacionPuerto"=>$row["@codMaeOperacionPuerto"],
                "codMaeCliente1"       =>$row["@codMaeCliente1"],
                "codMaeCliente2"       =>$row["@codMaeCliente2"],
                "consignatario"         =>$row["@consignatario"],
                
                "codMaeOperacionIdent" =>$row["@codMaeOperacionIdent"],            
                "numero"               =>$row["@numero"],            
                "codMaeContenedorTipo" =>$row["@codMaeContenedorTipo"],            
                "codMaeMercanciaTipo"  =>$row["@codMaeMercanciaTipo"],            
                "observaciones"        =>$row["@observaciones"],
                "codMaeContenedorTamano"=>$row["@codMaeContenedorTamano"],
                "cantidad"              =>$row["@cantidad"]                                
            );
            return json_encode($list);
        }
        //--- si llego a este punto, el sistema no devolvio nada, en este caso devuelvo vacio
        return json_encode("");
    }
    
    public static function anularOrdTrabajoById($codUsuario,$id,$host,$observaciones){
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'anularOrdTrabajoById'
                ,'".$observaciones."'
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,NULL
                ,NULL
                ,'".$host."'
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        //--- retorno los datos de la ot
        while($row = pg_fetch_array($res)) {
            $list=array(
                "id"                   =>$row["@id"],
                "fechaGrab"            =>$row["@fechaGrab"],
                "usuarioGrab"          =>$row["@usuarioGrab"],
                "activo"               =>$row["@activo"],
                "codOrdTrabajo"        =>$row["@codOrdTrabajo"],
                "codOperacionInterna"  =>$row["@codOperacionInterna"],            
                "fechaRegistro"        =>$row["@fechaRegistro"],            
                "estado"               =>$row["@estado"],            
                "codFactura"           =>$row["@codFactura"], 
                "valorFactura"          =>$row["@valorFactura"],
                "codResponsable"       =>$row["@codResponsable"],
                "codMaeOperacionTipo"  =>$row["@codMaeOperacionTipo"],
                "codMaeOperacionPuerto"=>$row["@codMaeOperacionPuerto"],
                "codMaeCliente1"       =>$row["@codMaeCliente1"],
                "codMaeCliente2"       =>$row["@codMaeCliente2"],
                "consignatario"         =>$row["@consignatario"],
                
                "codMaeOperacionIdent" =>$row["@codMaeOperacionIdent"],            
                "numero"               =>$row["@numero"],            
                "codMaeContenedorTipo" =>$row["@codMaeContenedorTipo"],            
                "codMaeMercanciaTipo"  =>$row["@codMaeMercanciaTipo"],            
                "observaciones"        =>$row["@observaciones"],
                "codMaeContenedorTamano"=>$row["@codMaeContenedorTamano"],
                "cantidad"              =>$row["@cantidad"]                                
            );
            return json_encode($list);
        }
        //--- si llego a este punto, el sistema no devolvio nada, en este caso devuelvo vacio
        return json_encode("");
    }
    
    public static function cerrarOrdTrabajoById($codUsuario,$id,$host,$observaciones){
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'cerrarOrdTrabajoById'
                ,'".$observaciones."'
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,NULL
                ,NULL
                ,'".$host."'
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        //--- retorno los datos de la ot
        while($row = pg_fetch_array($res)) {
            $list=array(
                "id"                   =>$row["@id"],
                "fechaGrab"            =>$row["@fechaGrab"],
                "usuarioGrab"          =>$row["@usuarioGrab"],
                "activo"               =>$row["@activo"],
                "codOrdTrabajo"        =>$row["@codOrdTrabajo"],
                "codOperacionInterna"  =>$row["@codOperacionInterna"],            
                "fechaRegistro"        =>$row["@fechaRegistro"],            
                "estado"               =>$row["@estado"],            
                "codFactura"           =>$row["@codFactura"],            
                "valorFactura"           =>$row["@valorFactura"],            
                "codResponsable"       =>$row["@codResponsable"],
                "codMaeOperacionTipo"  =>$row["@codMaeOperacionTipo"],
                "codMaeOperacionPuerto"=>$row["@codMaeOperacionPuerto"],
                "codMaeCliente1"       =>$row["@codMaeCliente1"],
                "codMaeCliente2"       =>$row["@codMaeCliente2"],
                "consignatario"         =>$row["@consignatario"],
                
                "codMaeOperacionIdent" =>$row["@codMaeOperacionIdent"],            
                "numero"               =>$row["@numero"],            
                "codMaeContenedorTipo" =>$row["@codMaeContenedorTipo"],            
                "codMaeMercanciaTipo"  =>$row["@codMaeMercanciaTipo"],            
                "observaciones"        =>$row["@observaciones"],
                "codMaeContenedorTamano"=>$row["@codMaeContenedorTamano"],
                "cantidad"              =>$row["@cantidad"]                                
            );
            return json_encode($list);
        }
        //--- si llego a este punto, el sistema no devolvio nada, en este caso devuelvo vacio
        return json_encode("");
    }
    
    public function selectThisByCodigo($codOrdTrabajo){
        //--- defino el codigo
        $this->codOrdTrabajo=$codOrdTrabajo;
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'selectByCodigo'
                ,NULL,NULL,NULL,NULL,NULL
                ,'" . $this->codOrdTrabajo . "'
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));                
        }

        while($row = pg_fetch_array($res)) 
         {
            $this->id                   =$row["@id"];
            $this->fechaGrab            =$row["@fechaGrab"];
            $this->usuarioGrab          =$row["@usuarioGrab"];
            $this->activo               =$row["@activo"];
            $this->codOrdTrabajo        =$row["@codOrdTrabajo"];
            $this->codOperacionInterna  =$row["@codOperacionInterna"];            
            $this->fechaRegistro        =$row["@fechaRegistro"];            
            $this->estado               =$row["@estado"];            
            $this->codFactura           =$row["@codFactura"];            
            $this->valorFactura           =$row["@valorFactura"];            
            $this->responsable->setCodUsuario($row["@codResponsable"]);
            $this->maeOperacionTipo->setCodMaeOperacionTipo($row["@codMaeOperacionTipo"]);
            $this->maeOperacionPuerto->setCodMaeOperacionPuerto($row["@codMaeOperacionPuerto"]);
            $this->maeCliente1->setCodMaeCliente($row["@codMaeCliente1"]);
            $this->maeCliente2->setCodMaeCliente($row["@codMaeCliente2"]);
            $this->consignatario=$row["@consignatario"];
                
            $this->maeOperacionIdent->setCodMaeOperacionIdent($row["@codMaeOperacionIdent"]);
            $this->numero=$row["@numero"];
            $this->maeContenedorTipo->setCodMaeContenedorTipo($row["@codMaeContenedorTipo"]);
            $this->maeMercanciaTipo->setCodMaeMercanciaTipo($row["@codMaeMercanciaTipo"]);
            $this->observaciones=$row["@observaciones"];
            $this->maeContenedorTamano=$row["@codMaeContenedorTamano"];
            $this->cantidad=$row["@cantidad"];
         }
         ConexionBD::get()->desconectarse();        
         return json_encode("");
    }
    
    public function selectThisById($id){
        if($id<=0){
            return json_encode("");
        }
        
        //--- defino el codigo
        $this->id=$id;
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'selectById'
                ,NULL
                ,".$id."
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));                
        }

        while($row = pg_fetch_array($res)) 
         {
            $this->id                   =$row["@id"];
            $this->fechaGrab            =$row["@fechaGrab"];
            $this->usuarioGrab          =$row["@usuarioGrab"];
            $this->activo               =$row["@activo"];
            $this->codOrdTrabajo        =$row["@codOrdTrabajo"];
            $this->codOperacionInterna  =$row["@codOperacionInterna"];            
            $this->fechaRegistro        =$row["@fechaRegistro"];            
            $this->estado               =$row["@estado"];            
            $this->codFactura           =$row["@codFactura"];            
            $this->valorFactura           =$row["@valorFactura"];            
            $this->responsable->setCodUsuario($row["@codResponsable"]);
            $this->maeOperacionTipo->setCodMaeOperacionTipo($row["@codMaeOperacionTipo"]);
            $this->maeOperacionPuerto->setCodMaeOperacionPuerto($row["@codMaeOperacionPuerto"]);
            $this->maeCliente1->setCodMaeCliente($row["@codMaeCliente1"]);
            $this->maeCliente2->setCodMaeCliente($row["@codMaeCliente2"]);
            
            $this->consignatario=$row["@consignatario"];

            $this->maeOperacionIdent->setCodMaeOperacionIdent($row["@codMaeOperacionIdent"]);
            $this->numero=$row["@numero"];
            $this->maeContenedorTipo->setCodMaeContenedorTipo($row["@codMaeContenedorTipo"]);
            $this->maeMercanciaTipo->setCodMaeMercanciaTipo($row["@codMaeMercanciaTipo"]);
            $this->observaciones=$row["@observaciones"];
            $this->maeContenedorTamano=$row["@codMaeContenedorTamano"];
            $this->cantidad=$row["@cantidad"];
             
         }
         ConexionBD::get()->desconectarse();        
         return json_encode("");
    }
    
    public static function selectById($id){
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'selectById'
                ,NULL
                ,".$id."
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));                
        }
        //--- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        while($row = pg_fetch_array($res)) {
            $list=array(
                "id"                   =>$row["@id"],
                "fechaGrab"            =>$row["@fechaGrab"],
                "usuarioGrab"          =>$row["@usuarioGrab"],
                "activo"               =>$row["@activo"],
                "codOrdTrabajo"        =>$row["@codOrdTrabajo"],
                "codOperacionInterna"  =>$row["@codOperacionInterna"],            
                "fechaRegistro"        =>$row["@fechaRegistro"],            
                "estado"               =>$row["@estado"],            
                "codFactura"           =>$row["@codFactura"],            
                "valorFactura"           =>$row["@valorFactura"],            
                "codResponsable"       =>$row["@codResponsable"],
                "codMaeOperacionTipo"  =>$row["@codMaeOperacionTipo"],
                "codMaeOperacionPuerto"=>$row["@codMaeOperacionPuerto"],
                "codMaeCliente1"       =>$row["@codMaeCliente1"],
                "codMaeCliente2"       =>$row["@codMaeCliente2"],
                "consignatario"       =>$row["@consignatario"],

                "codMaeOperacionIdent" =>$row["@codMaeOperacionIdent"],            
                "numero"               =>$row["@numero"],            
                "codMaeContenedorTipo" =>$row["@codMaeContenedorTipo"],            
                "codMaeMercanciaTipo"  =>$row["@codMaeMercanciaTipo"],            
                "observaciones"        =>$row["@observaciones"],
                "codMaeContenedorTamano"=>$row["@codMaeContenedorTamano"],
                "cantidad"              =>$row["@cantidad"]                                
            );
            return json_encode($list);
        }
        //--- si llego a este punto, el sistema no devolvio nada, en este caso devuelvo vacio
        return json_encode("");
    }
    
    public static function selectAllHTMLTableFormat($numPagina,$registrosPorPagina,$campoFiltroOrden,$valorFiltro){
        
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'selectAll'
                ,'".$numPagina."|".$registrosPorPagina."|".$campoFiltroOrden."|".$valorFiltro."'
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
            );";
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        
        //--- Con estos objetos obtendre los nombre de los clientes 1 y 2
        $clie1=new MaeCliente();
        //$clie2=new MaeCliente();
/*        
        
        $consultarAdjuntoOT_PLANILLA=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.consultarAdjuntoOT_PLANILLA")!=="" ? false : true);
        $consultarAdjuntoOT_FOTOS=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.consultarAdjuntoOT_FOTOS")!=="" ? false : true);
        $consultarAdjuntoOT_INSPECCION=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.consultarAdjuntoOT_INSPECCION")!=="" ? false : true);
        $selectRecMercancia=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.selectRecMercancia")!=="" ? false : true);
        $anularOT=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.anularOT")!=="" ? false : true);
        $cerrarOT=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.cerrarOT")!=="" ? false : true);
        $facturarOT=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.facturarOT")!=="" ? false : true);
        $imprimirOTComercial=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.imprimirOTComercial")!=="" ? false : true);
        $imprimirOTOperativa=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.imprimirOTOperativa")!=="" ? false : true);
        $imprimirRecMercancia=
                (SeguridadPermiso::validarPermisoByUsuario($_SESSION["SESSION_codUsuario"],"OrdTrabajo.imprimirRecMercancia")!=="" ? false : true);
  */      
        $html="";
        while($row = pg_fetch_array($res)) {
            //--- recupero el nombre de los clientes 1 y 2
            $clie1=new MaeCliente();
            $clie1->selectThisByCodigo($row["@codMaeCliente1"]);
            
            /*
            if($row["@codMaeCliente2"]!==""){
                $clie2=new MaeCliente();
                $clie2->selectThisByCodigo($row["@codMaeCliente2"]);                
            }
             
             */
            //--- recupero el puero de operacion
            $puert=new MaeOperacionPuerto();
            $puert->selectThisByCodigo($row["@codMaeOperacionPuerto"]);
            
            
            $html=$html."<tr id='".$row["@id"]."' class='".$row["@estado"]."'>";
            $html=$html."<td><b><a href='#' class='link_detalleOT'>".$row["@codOrdTrabajo"]."</a></b></td>";        
            $html=$html."<td>".$row["@codOperacionInterna"]."</td>";        
            $html=$html."<td>".$clie1->getNombreMaeCliente()."</td>";        
            $html=$html."<td>".$row["@consignatario"]."</td>";        
            $html=$html."<td>".$puert->getNombreMaeOperacionPuerto()."</td>";        
            $html=$html."<td id='td_estado_".$row["@id"]."'><b>".$row["@estado"]."</b></td>";        
            $html=$html."<td>";        
            $html=$html."&nbsp;<img class='icon-file' id='icon-file' src='../recursos/imagenes/planilla.png' title='Anexar Planilla de Tarja'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-picture' id='icon-picture' src='../recursos/imagenes/photo.png' title='Anexar Foto'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-inbox' id='icon-inbox' src='../recursos/imagenes/contenedor.png' title='Anexar Inspeccion de Contenedores'>";
            $html=$html."&nbsp;&nbsp;<img class='icon-otros-anexos' id='icon-otros-anexos' src='../recursos/imagenes/otrosAnexos.png' title='Anexar Otros Documentos'>";
            $html=$html."&nbsp;&nbsp;<img class='icon-shield' id='icon-shield' src='../recursos/imagenes/shield.png' title='Anexar Reconocimiento de Mercancia'>";
            $html=$html."&nbsp;&nbsp;<img class='icon-anular-ot' id='icon-anular-ot' src='../recursos/imagenes/anular_ot.png' title='Anular OT'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-cerrar-ot' id='icon-cerrar-ot' src='../recursos/imagenes/cerrar_ot.png' title='Cerrar OT'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-facturar-ot' id='icon-facturar-ot' src='../recursos/imagenes/facturar_ot.png' title='Facturar OT'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-exportar-comercial' id='icon-exportar-comercial' src='../recursos/imagenes/report1.png' title='Generar Reporte Version Comercial'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-exportar-operativa' id='icon-exportar-operativa' src='../recursos/imagenes/report2.png' title='Generar Reporte Version Operativa'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-exportar-rec_merc' id='icon-exportar-rec_merc' src='../recursos/imagenes/report3.png' title='Generar Reporte Reconocimiento de Mercancia'>";        
            /*
            $html=$html."&nbsp;<img ".($consultarAdjuntoOT_PLANILLA ? "class='icon-file'":'style="opacity:0.3"')." id='icon-file' src='../recursos/imagenes/planilla.png' title='Anexar Planilla de Tarja'>";        
            $html=$html."&nbsp;&nbsp;<img ".($consultarAdjuntoOT_FOTOS ? "class='icon-picture'":'style="opacity:0.3"')." id='icon-picture' src='../recursos/imagenes/photo.png' title='Anexar Foto'>";        
            $html=$html."&nbsp;&nbsp;<img ".($consultarAdjuntoOT_INSPECCION ? "class='icon-inbox'":'style="opacity:0.3"')." id='icon-inbox' src='../recursos/imagenes/contenedor.png' title='Anexar Inspeccion de Contenedores'>";
            $html=$html."&nbsp;&nbsp;<img ".($selectRecMercancia ? "class='icon-shield'":'style="opacity:0.3"')." id='icon-shield' src='../recursos/imagenes/shield.png' title='Anexar Reconocimiento de Mercancia'>";
            $html=$html."&nbsp;&nbsp;<img ".($anularOT ? "class='icon-anular-ot'":'style="opacity:0.3"')." id='icon-anular-ot' src='../recursos/imagenes/anular_ot.png' title='Anular OT'>";        
            $html=$html."&nbsp;&nbsp;<img ".($cerrarOT ? "class='icon-cerrar-ot'":'style="opacity:0.3"')." id='icon-cerrar-ot' src='../recursos/imagenes/cerrar_ot.png' title='Cerrar OT'>";        
            $html=$html."&nbsp;&nbsp;<img ".($facturarOT ? "class='icon-facturar-ot'":'style="opacity:0.3"')." id='icon-facturar-ot' src='../recursos/imagenes/facturar_ot.png' title='Facturar OT'>";        
            $html=$html."&nbsp;&nbsp;<img ".($imprimirOTComercial ? "class='icon-exportar-comercial'":'style="opacity:0.3"')." id='icon-exportar-comercial' src='../recursos/imagenes/report1.png' title='Generar Reporte Version Comercial'>";        
            $html=$html."&nbsp;&nbsp;<img ".($imprimirOTOperativa ? "class='icon-exportar-operativa'":'style="opacity:0.3"')." id='icon-exportar-operativa' src='../recursos/imagenes/report2.png' title='Generar Reporte Version Operativa'>";        
            $html=$html."&nbsp;&nbsp;<img ".($imprimirRecMercancia ? "class='icon-exportar-rec_merc'":'style="opacity:0.3"')." id='icon-exportar-rec_merc' src='../recursos/imagenes/report3.png' title='Generar Reporte Reconocimiento de Mercancia'>";        
            */
            $html=$html."</td>";        
            $html=$html."</tr>";                    
        }
        
        //-- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        //-- retorno el resultado
        return json_encode(array("HTML"=>$html));        
    }
    
    public static function insert($codUsuario,$activo,$codOrdTrabajo,$codOperacionInterna,$codResponsable,$codMaeOperacionTipo,$codMaeOperacionPuerto,$codMaeCliente1,$codMaeCliente2,$fechaRegistro,$estado,$consignatario,$codMaeOperacionIdent,$numero,$codMaeContenedorTipo,$codMaeMercanciaTipo,$observaciones,$codMaeContenedorTamano,$cantidad){
        //-- verifico la fecha
        //if($fechaRegistro==="") {
        //    return json_encode(array("ERROR"=>"Debe indicar una fecha de registro Valida, verifique."));
        //}
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'insert'
                ,NULL
                ,NULL
                ,NULL
                ,'".$codUsuario."'
                ,'".(($activo) ? 'true' : 'false')."'
                ,'".$codOrdTrabajo."'
                ,'".$codOperacionInterna."'
                ,".($codResponsable==""?"NULL":"'".$codResponsable."'")."
                ,".($codMaeOperacionTipo==""?"NULL":"'".$codMaeOperacionTipo."'")."
                ,".($codMaeOperacionPuerto==""?"NULL":"'".$codMaeOperacionPuerto."'")."
                ,'".$codMaeCliente1."'
                ,".($codMaeCliente2==""?"NULL":"'".$codMaeCliente2."'")."
                ,".($fechaRegistro==""?"NULL":"'".$fechaRegistro."'")."
                ,'".$estado."'
                ,NULL
                ,NULL
                ,'".$consignatario."'                
                ,".($codMaeOperacionIdent==""?"NULL":"'".$codMaeOperacionIdent."'")." 
                ,".($numero==""?"NULL":"'".$numero."'")."
                ,".($codMaeContenedorTipo==""?"NULL":"'".$codMaeContenedorTipo."'")."
                ,".($codMaeMercanciaTipo==""?"NULL":"'".$codMaeMercanciaTipo."'")."
                ,'".$observaciones."'
                ,".($codMaeContenedorTamano==""?"NULL":"'".$codMaeContenedorTamano."'")."
                ,".($cantidad==""?"NULL":"'".$cantidad."'")." 
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();   
        
        //--- debo retornar el id que se genero al hacer la insercion
        while($row = pg_fetch_array($res)) {
            return json_encode(array("id"=>$row["@id"],"codOrdTrabajo"=>$row["@codOrdTrabajo"]));
        }
        //-- retorno sino devolvio un id, retorno cero para que no se generen erroes en la vista
        return json_encode(array("id"=>"0","codOrdTrabajo"=>""));
    }
    
    public static function update($codUsuario,$id,$activo,$codOrdTrabajo,$codOperacionInterna,$codResponsable,$codMaeOperacionTipo,$codMaeOperacionPuerto,$codMaeCliente1,$codMaeCliente2,$fechaRegistro,$consignatario,$codMaeOperacionIdent,$numero,$codMaeContenedorTipo,$codMaeMercanciaTipo,$observaciones,$codMaeContenedorTamano,$cantidad){
        //-- verifico la fecha
        //if($fechaRegistro==="") {
        //    return json_encode(array("ERROR"=>"Debe indicar una fecha de registro Valida, verifique."));
        //}
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
            'update'
            ,NULL
            ,".$id."
            ,NULL
            ,'".$codUsuario."'
            ,'".(($activo) ? 'true' : 'false')."'
            ,'".$codOrdTrabajo."'
            ,'".$codOperacionInterna."'
            ,".($codResponsable==""?"NULL":"'".$codResponsable."'")."
            ,".($codMaeOperacionTipo==""?"NULL":"'".$codMaeOperacionTipo."'")."
            ,".($codMaeOperacionPuerto==""?"NULL":"'".$codMaeOperacionPuerto."'")."
            ,'".$codMaeCliente1."'
            ,".($codMaeCliente2==""?"NULL":"'".$codMaeCliente2."'")."
            ,'".$fechaRegistro."'
            ,NULL
            ,NULL
            ,NULL
            ,".($consignatario==""?"NULL":"'".$consignatario."'")."    
            ,".($codMaeOperacionIdent==""?"NULL":"'".$codMaeOperacionIdent."'")." 
            ,".($numero==""?"NULL":"'".$numero."'")."
            ,".($codMaeContenedorTipo==""?"NULL":"'".$codMaeContenedorTipo."'")."
            ,".($codMaeMercanciaTipo==""?"NULL":"'".$codMaeMercanciaTipo."'")."
            ,'".$observaciones."'
            ,".($codMaeContenedorTamano==""?"NULL":"'".$codMaeContenedorTamano."'")."
            ,".($cantidad==""?"NULL":"'".$cantidad."'")." 
        );";
        
        //return json_encode(array("ERROR"=>$consulta));
        
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        
        //return json_encode(array("ERROR"=>$consulta));
        return json_encode("");
    }
    
    public static function delete($codUsuario,$id,$paramAux){
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajo\"(
                'delete'
                ,".( $paramAux==="" ? "NULL" : "'".$paramAux."'" )."
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        return json_encode("");
    }
    
    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        $this->id = $id;
    }

    public function getFechaGrab() {
        return $this->fechaGrab;
    }

    public function setFechaGrab($fechaGrab) {
        $this->fechaGrab = $fechaGrab;
    }

    public function getUsuarioGrab() {
        return $this->usuarioGrab;
    }

    public function setUsuarioGrab($usuarioGrab) {
        $this->usuarioGrab = $usuarioGrab;
    }

    public function getActivo() {
        return $this->activo;
    }

    public function setActivo($activo) {
        $this->activo = $activo;
    }

    public function getCodOrdTrabajo() {
        return $this->codOrdTrabajo;
    }

    public function setCodOrdTrabajo($codOrdTrabajo) {
        $this->codOrdTrabajo = $codOrdTrabajo;
    }

    public function getCodOperacionInterna() {
        return $this->codOperacionInterna;
    }

    public function setCodOperacionInterna($codOperacionInterna) {
        $this->codOperacionInterna = $codOperacionInterna;
    }

    public function getFechaRegistro() {
        return $this->fechaRegistro;
    }

    public function setFechaRegistro($fechaRegistro) {
        $this->fechaRegistro = $fechaRegistro;
    }

    public function getEstado() {
        return $this->estado;
    }

    public function setEstado($estado) {
        $this->estado = $estado;
    }
    
    public function getCodFactura() {
        return $this->codFactura;
    }

    public function setCodFactura($codFactura) {
        $this->codFactura = $codFactura;
    }
    
    public function getResponsable() {
        return $this->responsable;
    }

    public function setResponsable($responsable) {
        $this->responsable = $responsable;
    }

    public function getMaeOperacionTipo() {
        return $this->maeOperacionTipo;
    }

    public function setMaeOperacionTipo($maeOperacionTipo) {
        $this->maeOperacionTipo = $maeOperacionTipo;
    }

    public function getMaeOperacionPuerto() {
        return $this->maeOperacionPuerto;
    }

    public function setMaeOperacionPuerto($maeOperacionPuerto) {
        $this->maeOperacionPuerto = $maeOperacionPuerto;
    }

    public function getMaeCliente1() {
        return $this->maeCliente1;
    }

    public function setMaeCliente1($maeCliente1) {
        $this->maeCliente1 = $maeCliente1;
    }

    public function getMaeCliente2() {
        return $this->maeCliente2;
    }

    public function setMaeCliente2($maeCliente2) {
        $this->maeCliente2 = $maeCliente2;
    }
    public function getValorFactura() {
        return $this->valorFactura;
    }

    public function setValorFactura($valorFactura) {
        $this->valorFactura = $valorFactura;
    }

public function getConsignatario() {
        return $this->consignatario;
    }

    public function setConsignatario($consignatario) {
        $this->consignatario = $consignatario;
    }

    public function getMaeOperacionIdent() {
        return $this->maeOperacionIdent;
    }

    public function setMaeOperacionIdent($maeOperacionIdent) {
        $this->maeOperacionIdent = $maeOperacionIdent;
    }

    public function getNumero() {
        return $this->numero;
    }

    public function setNumero($numero) {
        $this->numero = $numero;
    }

    public function getMaeContenedorTipo() {
        return $this->maeContenedorTipo;
    }

    public function setMaeContenedorTipo($maeContenedorTipo) {
        $this->maeContenedorTipo = $maeContenedorTipo;
    }

    public function getMaeMercanciaTipo() {
        return $this->maeMercanciaTipo;
    }

    public function setMaeMercanciaTipo($maeMercanciaTipo) {
        $this->maeMercanciaTipo = $maeMercanciaTipo;
    }

    public function getObservaciones() {
        return $this->observaciones;
    }

    public function setObservaciones($observaciones) {
        $this->observaciones = $observaciones;
    }

    public function getMaeContenedorTamano() {
        return $this->maeContenedorTamano;
    }

    public function setMaeContenedorTamano($maeContenedorTamano) {
        $this->maeContenedorTamano = $maeContenedorTamano;
    }

    public function getCantidad() {
        return $this->cantidad;
    }

    public function setCantidad($cantidad) {
        $this->cantidad = $cantidad;
    }

}

?>
